using System;
using System.Collections.Generic;
using System.Text;
using CTRL;
using System.Windows.Forms;
using ENT_Entidades;
using PQT_Usuarios.UI;
using PQT_Usuarios.BIZ;
using PQT_Login.ENT;

namespace PQT_Usuarios
{
    public class ctrlLogin: Controlador
    {
        public static clsOID OID_Login = new clsOID(frmLogin.idFrmLogin);
        private static absUsuario _usuario;
        
        public static absUsuario UsuarioLogueado
        {
            get { return _usuario; }
            private set { _usuario = value; }
        }

        private static ctrlLogin _controladorLogin;

        public static ctrlLogin getInstance()
        {
            if (_controladorLogin == null) { _controladorLogin = new ctrlLogin(); }
            return _controladorLogin;
        }

        private ctrlLogin()
        {
            base.OID_Pantalla = OID_Login;            
        }

        public override DialogResult mostrarPantalla(clsOID _OID)
        {
            return DialogResult.Cancel;
        }

        protected override void inicializar(Form _frm)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        protected override void inicializar()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public override DialogResult mostrarPantallaDialogo(clsOID _OID)
        {
            throw new Exception("The method or operation is not implemented.");
        }
        /// <summary>
        /// verifica el usuario y el psw y trae el usuario logueado en caso de que exista.
        /// </summary>
        /// <param name="nomUsuario"></param>
        /// <param name="pswUsuario"></param>
        /// <returns></returns>
        internal bool validarUsuario(string nomUsuario, string pswUsuario)
        {
            bool rta = false;
            ctrlPqtUsuario ctrlPqt = ctrlPqtUsuario.getInstance();
            clsUsuario usuarioTmp = ctrlPqt.crearUsuario(nomUsuario,pswUsuario);
            if (usuarioTmp != null)
            {
                UsuarioLogueado = usuarioTmp;
                rta = true;
            }
            else
            {
                // el usuario no existe y por lo tanto no es valido
                UsuarioLogueado = null;
            }
            return rta;
        }
    }
}
